Various computer applications are available that allow users to produce drawings using the computer. Many of these applications, however, are complex and complicated to use. For example, when a user is drawing or revising a process flow chart or a hierarchy chart, various drawing components must be created, placed relative to one another, and connected to provide context and meaning. The process of creating, placing, and connecting components can require multiple manual steps, and can be difficult, time consuming, and frustrating for the user.
Additionally, in some circumstances, the user must choose between various types of connections, further complicating the process. For example, some applications provide both simple and glued connections. The simple connection places a connection line between two components (e.g., at a specific point in space). When one of the components moves, the connection line remains fixed in space and no longer connects the two components. Conversely, the glued connection places a line between two components and automatically adjusts the connection line so that the two components remain connected when one of the components is moved. If the user chooses the wrong type of connection for the type of drawing being made, the resulting drawing can be even more difficult to revise in the future.
Various arrangements have been used to simplify the process of creating and placing components. For example, Visio®, available from the Microsoft Corporation of Redmond, Wash., provides the user with the ability to cut, copy, or move drawing components, and/or the ability to select components from a master shape container or window. Additionally, Visio® provides a stamping tool which allows a shape to be selected and then dropped at various locations in a drawing by placing the pointer at the desired location and clicking on a mouse button. The stamping tool, however, does not suggest the placement of the shape and does not provide any connection between the shape dropped into the drawing and other pre-existing shapes. Accordingly, the user must decide precisely (e.g., the precise direction and distance) where to place the component and then manually connected the dropped shape to pre-existing shapes, if desired.